//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _CovarianceAttributes_h__
#define _CovarianceAttributes_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "ArffObject.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class CovarianceAttributes { 

  private:


  protected:

    String*     filenameAttributes;
    String*     filenameMatrix;
    
    ArffObject* attributes;
    float**     covarianceMatrix;

    String*     toString;
    
  public:

    CovarianceAttributes ();
    CovarianceAttributes (const CovarianceAttributes&);
    CovarianceAttributes (const CovarianceAttributes*);

    ~CovarianceAttributes ();

    void        FilenameAttributes (String* filenameAttributes);
    void        FilenameMatrix (String* filenameMatrix);
    void        Attributes (ArffObject* attributes);
    void        CovarianceMatrix (float** covarianceMatrix, int size);

    String*     FilenameAttributes (void);
    String*     FilenameMatrix (void);
    ArffObject* Attributes (void);
    float**     CovarianceMatrix (void);

    bool        ComputeCovariance (void);
    
    bool        WriteResultMatrix (void);

    CovarianceAttributes operator= (const CovarianceAttributes& covarianceAttributes);

};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
